(in-package "ACL2")

(include-book "data-structures/structures" :dir :system)

(defstructure cell 
    (x)
    (y))

;;Check if argument is a cell
(defun cell? (form)
   (declare (ignore form))
    t) ;stub

;;Check if a form is a list of cells (helper)
(defun cell-listp-rec* (form acc)
    (if (and (consp form) acc) 
        (cell-listp-rec* (cdr form) (cell? (car form)))
        acc))

;;check if a form is a list of cells
(defun cell-listp (form)
    (and (true-listp form)
        (cell-listp-rec* form t)))
